1. Technical Field
The present invention is directed to an apparatus and method for enabling Unicode input in legacy operating systems. More specifically, the present invention is directed to a mechanism that receives keystrokes that are to be converted via an input method editor which converts the keyboard strokes to a Unicode representation which may be used with applications that support Unicode even though the applications are executing in an operating system that does not have Unicode support or Unicode support for the particular selected script.
2. Description of Related Art
Modern operating systems, e.g., Windows 2000™ and Windows XP™ from Microsoft Corporation, enable full Unicode input via input method editors (IMEs). Unicode is a superset of the ASCII character set that uses two bytes for each character rather than one. As a result, the Unicode character set is able to handle 65,536 character combinations rather than ASCII's 256. This allows many of the world's languages to be represented in Unicode when they would otherwise not be able to be represented in the ASCII character set.
Input method editors (IMEs) are programs that allow computer users to enter complex characters and symbols, such as Japanese characters, using a standard keyboard. Examples of such IMEs include the IBM Indic IME, Microsoft Global IME 5.02 and Global IME for Office XP. The IME takes keyboard events and converts them to a Unicode representation which may be used with the operating system and/or applications running within the operating system environment.
In legacy operating systems, e.g., Microsoft Windows 95™, such IME frameworks either do not exist or the character sets are limited to a very few specific languages. Thus, for the most part legacy operating systems are not capable of making use of complex character sets, such as Indic scripts (e.g., Devanagari), Japanese scripts, and the like, because they are not capable of supporting the Unicode character set.
Therefore, it would be beneficial to have an apparatus and method for providing Unicode support in legacy operating systems. Moreover, it would be beneficial to have an apparatus and method that provides Unicode support without requiring modification of legacy operating systems, does not require modifications to applications running in the operating system environment, and does not require complex hardware.